package l3.info.Projet.Client;

import java.util.List;

public class Utilisateur {

	/** Identifiant */
	private int id;
	
	/** Mot de passe */
	private String mdp;
	
	/** Tous les messages écrits par l'utilisateur */
	private List<Message> messages;
	
	/** Nom d'utilisateur */
	private String pseudo;
	
	/** Permet de savoir s'il l'utilisateur est connecté 
	 * ou a le droit de se connecter
	 */
	private boolean connexion = false;
	
	/**
	 * @param id, le numéro d'utilisateur
	 * @param mdp, le mot de passe
	 * @param pseudo, le nom d'utilisateur
	 * @param messages, la list de messages
	 */
	public Utilisateur(int id, String mdp, String pseudo, 
			List<Message> messages) {
		this.id = id;
		this.mdp = mdp;
		this.pseudo = pseudo;
		this.messages = messages;
	}
	
	/**
	 * @return id, l'identifiant
	 */
	public int getId() {
		return id;
	}
	
	/**
	 * @return mdp, le mot de passe
	 */
	public String getMdp() {
		return mdp;
	}
	
	/**
	 * Setter du pseudo
	 * @param pseudo, le nom d'utilisateur
	 */
	public void setPseudo(String pseudo) {
		this.pseudo = pseudo;
	}
	
	/**
	 * Getter du pseudo
	 * @return pseudo, le nom d'utilisateur
	 */
	public String getPseudo() {
		return pseudo;
	}
	
	/**
	 * Ajoute un message écrit par l'utilisateur
	 */
	public void setMessages(List<Message> messages) {
		this.messages = messages;
	}
	
	/**
	 * Getter sur les messages
	 * @return messages, la liste des messages
	 */
	public List<Message> getMessages() {
		return messages;
	}
	
	/**
	 * Setter de connexion
	 * @param connexion, true si l'utilisateur peut se connecter, false sinon
	 */
	public void setConnexion(boolean connexion) {
		this.connexion = connexion;
	}
	
	/**
	 * Getter de connexion, permet de savoir si l'utilisateur est connecté
	 * ou peut se connecter (modifié par le serveur)
	 * @return connexion, à true ou false
	 */
	public boolean getConnexion() {
		return connexion;
	}
}
